The present invention relates to a scanner and a method of programming a computer controlled bar code scanner and, more particularly, to such a scanner and method in which control data is supplied to a non-volatile memory in the scanner by scanning specially encoded bar code labels. The control data comprises character sets, which if read on two labels, indicate that the labels are affixed to the same product, and further indicate the ordering of the two labels. Any of a plurality of predetermined character sets may be used to provide an indication of a two label condition.
Laser scanners are known in which a beam of laser light is swept in a scan pattern to find and read a bar code printed on a surface which is presented to the scanner, such as for example a package label. Bar code labels are used on a broad range of retail packages for check-out and inventory purposes. A scanner, located for example at the check-out station in a retail establishment is used by a clerk automatically to enter product identification data into an associated computer system.
Typically such a scanner includes a laser source, such as a gas discharge laser, which produces a low power laser beam. The bea then passes through appropriate optical lenses and is swept across the package surface by a motor-driven, rotating mirror assembly. A portion of the light reflected from the package surface returns through the optical lenses to a detector which provides an electrical signal in dependence upon the level of the reflected light. A signal processing system in the scanner then analyses the electrical signal and translates the scanned characters into data which is transmitted to the host computer.
The computer then determines the total price of the products being purchased, as well as storing the identity of the purchased products for inventory and accounting purposes. The host computer may be located in the cash register associated with the scanner. Alternatively, a single host computer may service a number of scanners at the retail establishment.
A number of different bar codes have come into use. In some of these, it is possible for two labels to be applied to the same product, with all of the information defined by the labels relating to the product. It is important for the scanner system to be able to distinguish those pairs of scanned labels which are affixed to the same product and, also, which of the labels in each such pair is the "first" label and which of the labels is the "second" label. In EAN 13 code, for example, the first two characters on each label ae predetermined characters if the label is the first or second of a label pair affixed to the same product.
Each scanner typically includes a microprocessor which performs a number of functions, including recognizing the electrical signals produced when a label is scanned. Previously, the valid character set for indicating "first" and "second" labels where the labels are affixed to the same product have been stored in the random access memory of the microprocessor, or have been manually set by means of mechanical switches. Both approaches are disadvantageous. Either the character set cannot be easily changed, or the chacter set is not maintained in memory when the scanner is turned off and must be reloaded upon resumption of operation. To avoid these difficulties, a scanner system has been developed in which a number of character sets may be stored in an electrically erasable programmable read only memory associated with the scanner microprocessor. Such a system is disclosed in U.S. patent application Ser. No. 122,743, filed Nov. 19, 1987, entitled BAR CODE SCANNER AND METHOD, assigned to the assignee of the present invention, which is incorporated herein by reference.
While tbhe character sets stored in the EEPROM of the scanner system may be programmed by means of the host computer, it is desireable for a scanner technician to be able to program the character sets described above by other means. This is particularly true where a number of scanners, all sharing a single host computer system, are being installed, or where one of the scanners is of a multiple scanner system is being serviced. By providing other means of programming the scanner, the host computer and the other scanners in the system are free to operate normally. A portable terminal specifically designed for this task and for simulating the host computer to a scanner is disclosed in copending U.S. Ser. No. 129,300, filed Dec. 17, 1987, entitled PORTABLE TERMINAL AND METHOD, assigned to the assignee of the present invention, which is incorporated herein by reference.
It will be appreciated that while using a portable terminal for programming and testing a scanner is easier than using a remotely located host computer for these tasks, nevertheless it may be desirable for a technician to be able to program the EEPROM memory of such a scanner without the use of a terminal of any sort. It is seen, therefore, that there is a need for a scanner which may be programmed without the use of a terminal, and for a method of programming such a scanner.